Web2Py no permite el acceso desde un host remoto a la sección de admistración a no ser que se realice a través de localhost o de una conexión encriptada vía SSL.
Dado que Web2py en mi configuración utiliza Cherokee como servidor web, Web2py se arranca sin contraseña de administrador. Esto deshabilita por completo el acceso a la administración de Web2py, sea local o remota.
Para poder gestionar las aplicaciones en Web2py, la solución pasa por arrancar una segunda instancia de web2py desde la línea de comandos especificando una contraseña.
Esta segunda instancia la podemos arrancar mediante (ojo a las notas al final):
Una vez arrancado, nos conectamos a través del túnel mediante:
Finalmente accedemos a la administración de Web2py apuntando el navegador a
Notas a tener en cuenta:
Dado que Web2py en mi configuración utiliza Cherokee como servidor web, Web2py se arranca sin contraseña de administrador. Esto deshabilita por completo el acceso a la administración de Web2py, sea local o remota.
Para poder gestionar las aplicaciones en Web2py, la solución pasa por arrancar una segunda instancia de web2py desde la línea de comandos especificando una contraseña.
Esta segunda instancia la podemos arrancar mediante (ojo a las notas al final):
sudo nohup /usr/bin/python1 /var/web2py/web2py.py2 -a password3
Una vez arrancado, nos conectamos a través del túnel mediante:
ssh -L 80004:127.0.0.1:80005 usuario@IP_SERVIDOR_REMOTO6
Finalmente accedemos a la administración de Web2py apuntando el navegador a
http://127.0.0.1:80007
Notas a tener en cuenta:
- Probablemente no es necesario especificar la ruta completa a python, pero en mi caso no ha funcionado hasta que no lo he hecho.
- Debes modificar esta ruta y substituirla por la ruta donde hayas descomprimido Web2py. En mi caso, debo utilizar sudo porque no he asignado permisos al usuario sobre esta carpeta.
- No utilices password como contraseña: créeme, es una mala idea ;)
- Este es el puerto por defecto que utiliza Web2py.
- Este es el puerto local al que redirigimos el puerto remoto; para no complicarnos la vida, asignamos el mismo puerto en nuestro extremo local del túnel.
- Aquí debes utilizar el usuario con el que te conectas al servidor remoto (y su IP)
- Recuerda que accedes al servidor remoto a través del túnel creado por ssh; la entrada en este lado la haces a través de la IP 127.0.0.1
Comentarios